Database Sampling to Support the Development of Data-Intensive Applications
نویسندگان
چکیده
A prototype database is a model of a database which exhibits the desired properties, in terms of its schema and/or data values, of an operational database. Database prototyping has been proposed as a technique to support the database design process in particular, and the whole data-intensive application development process in general (e.g. requirements elicitation, software testing, experimentation with design alternatives). Existing work on this area has been widely ignored in practice mainly on the grounds that its benefits, i.e. an increase in the quality of the resulting software systems, do not justify the costs of developing and using a satisfactory prototype of the database under construction. Increasingly more software development projects consist of extending or enhancing existing systems, as opposed to developing new ones. Legacy information systems migration and WEB-enabling existing systems are examples where operational data can be expected to be available at development time. In these types of projects, using the entire operational database may not be cost-effective and a carefully selected subset may be more appropriate. The availability of operational data and a database schema can significantly reduce the effort required to build an appropriate prototype database to support the project at hand. The benefits of using such a prototype, with domain-relevant data and semantics, can also be expected to be higher than in those cases where software is developed from scratch and thus an operational database may not be available from which to build a prototype database. This thesis investigates how a prototype database can be constructed from an existing database. A prototype database which is populated with data from an operational database is referred to as a Sample Database; when it is populated using synthetic data values, it is called a Test Database. The context in which prototype databases in general, and Sample
منابع مشابه
Database sampling with functional dependencies
During the development of information systems there is a need to prototype the database which the applications will use when in operation. A prototype database can be built by sampling data from an existing database. Including relevant semantic information when extracting a sample from a database is considered invaluable to support the development of data-intensive applications. Functional depe...
متن کاملA formal framework for database sampling
Database sampling is commonly used in applications like data mining and approximate query evaluation in order to achieve a compromise between the accuracy of the results and the computational cost of the process. The authors have recently proposed the use of database sampling in the context of populating a prototype database, that is, a database used to support the development of data-intensive...
متن کاملBuilding Consistent Sample Databases to Support Information System Evolution and Migration
Prototype databases are needed in any information system development process to support data-intensive applications development. It is common practice to populate these databases using synthetic data. This data usually bears little relation to the application's domain and considers only a very reduced subset of the integrity constraints the database will hold during operation. This paper claims...
متن کاملA Deductive Object-Oriented Database For Data Intensive Application Development
This paper outlines an approach to the development of a deductive object-oriented database system. The approach presented uses a formally defined object-oriented data model as the starting point for the development of a logic query language and an imperative database programming language. These languages can be used independently the logic language for expressing queries or defining rule-based ...
متن کاملConsistent database sampling as a database prototyping approach
Requirements elicitation has been reported to be the stage of software development when errors have the most expensive consequences. Users usually find it difficult to articulate a consistent and complete set of requirements at the beginning of a development project. Prototyping is considered a powerful technique to ease this problem by exposing a partial implementation of the software system t...
متن کامل